The QuickOPC contains a separate installation package (for Windows) that is for production purposes only. This installer executable has a "-Production" postfix. It is much smaller than the Full installer: At the time of writing this article, the full installer has 296 MB, while the production installer has only 15 MB. The production installer contains only the COM components and the LMConsole utility (for licensing), and a code to optionally register the COM components, and/or produce the type libraries (TLB) for them. The production installer does not install any Start menu icons. It is intended for embedding in other installation programs. It can be automated from the command line, and can also be run silently.
Starting with QuickOPC version 2022.2, the Production Installer is not meant for .NET applications (.NET Framework, .NET 6 or 7); it is meant to be used for COM applications or Excel Option deployment.
This is because in the NuGet package reference model (as opposed to assembly referencing model), the set of assemblies required is not static - including assembly versions, and the binding redirects needed to support them. The only usable part from the Production installer for .NET applications is the LMConsole utility, and that can be invoked separately, which means that the use of Production Installer would be an overkill.
An exception to this is when you use QuickOPC .NET assemblies from PowerShell or C++/CLI.
The developer will find the link to download the production installer in the Redist directory.
The production installer can also be directly downloaded using this link.
The production installer is created using Inno Setup. This means that if you want to automate it from your own installer using command line, you can use all Setup Command Line Parameters it provides, and check Setup Exit Codes as needed. You will typically use the /SILENT or /VERYSILENT parameter, possibly combined with /TYPE, /COMPONENTS, /TASKS or /MERGETASKS parameters.
The available setup types (for the /TYPE=type name parameter) are:
Setup Type Name | Description |
production | Production installation |
productionnet | Production installation (.NET only) |
productioncom | Production installation (COM only) |
productionexcel | Production installation (Excel only) |
custom | Custom installation |
If you need more control over the installed parts, you can specify the components to be installed individually. The available components (for the /COMPONENTS="comma separated list of component names" parameter) are:
Component Name | Description |
netassemblies | .NET Assemblies (for PowerShell) |
comcomponents | COM Components |
typelibs | Type Libraries (COM) |
tools\productiontools | Production Tools (License Manager, ...) |
options\excel | Excel Option |
You can also instruct the Setup to perform additional tasks during installation, using /TASKS in the command line. The available tasks are:
Task Name | Description |
(currently none) |
The production installer can be passed an additional command line parameter ("/LicenseFile=...") with a path to the license key file (typically with .BIN or .TXT extension), causing it to automatically install the license as part of the setup process.
If you have two license files to install (with some of the Product Options), use "/LicenseFile2=..." to install the second license file.
It is also possible to automate the uninstallation. For that, the production installer places a unins000.exe file in the Setup directory of the product folder, where your own uninstaller can find it and call it as well. More information to this you will find in Uninstaller Command Line Parameters and Uninstaller Exit Codes.